package com.spring.springcloud.RocketMQ.第二章RocketMQ的安装与启动;

/**
 *  1.Produce：生产者   业务系统日志写入MQ的过程
 *      一个生产者可以生产多个主题
 *      一个主题可以被多个生产者生产
 *  2.Consumer：消费者  对业务系统日志解析处理的过程
 *      一组消费者只能消费 一个主题
 *
 *      消费者组使得在消息消费方面，实现负载均衡和容错
 *      消费者的 负载均衡指的是 Queue 的均衡不是消息个数的均衡
 *      如果只有俩个 Queue 但是消费者有三个，这时肯定至少有一个消费者是空闲的
 *      （我理解一个 Queue 不存在争强）
 *  3.Name Serve
 *      NameServer是一个Broker与Topic路由的注册中心，支持Broker的动态注册与发现。
 *      RocketMQ的思想来自于Kafka，而Kafka是依赖了Zookeeper的。
 *      所以，在RocketMQ的早期版本，即在MetaQ v1.0与v2.0版本中，
 *      也是依赖于Zookeeper的。
 *      从MetaQ v3.0，即RocketMQ开始去掉了Zookeeper依赖，
 *      使用了自己的NameServer
 *    主要包括两个功能：
 *      Broker管理：
 *          接受Broker集群的注册信息并且保存下来作为路由信息的基本数据；
 *          提供心跳检测机制，检查Broker是否还存活。
 *      路由信息管理：
 *          每个NameServer中都保存着Broker集群的整个路由信息和用于客户端查询的队列信息。
 *          Producer和Conumser通过NameServer可以获取整个Broker集群的路由信息，
 *          从而进行消息的投递和消费
 *
 * 4 Broker
 * 功能介绍
 *      Broker充当着消息中转角色，负责存储消息、转发消息。
 *      Broker在RocketMQ系统中负责接收并存储从生产者发送来的消息，
 *      同时为消费者的拉取请求作准备。
 *      Broker同时也存储着消息相关的元数据，
 *      包括消费者组消费进度偏移offset、主题、队列等。
 * Broker节点集群是一个主从集群
 * Broker集群是主备集群
 */
public class B_系统架构 {
}
